In voice processing and other data processing, manipulation of data within data packets is often desirable. For instance, manipulation of headers or other data fields within a packet is often required for complex protocols such as asynchronous transfer mode (ATM) and ATM adaptation layers (AAL). It is desirable to manipulate data within data packets efficiently to reduce processing power and time consumption.
Typically, processors, such as reduced instruction set computer (RISC) processors, are used to manipulate data packets. However, RISC processors operate on bytes or words (2 or 4 bytes) instead on the bit level. Accordingly, if a data field has a length less than a byte or a word, there is some inefficiency in manipulation of the data using a RISC processor since some bits which need not be affected are manipulated. In addition, with a RISC processor, simple bit manipulation operations typically require a large number of cycles, which again makes bit manipulation rather inefficient, power and time consuming.